﻿namespace MugenInjection.Syntax.Type
{
    /// <summary>
    /// Specific fluent syntax for type binding.
    /// </summary>
    public interface ITypeCallbackConstructorObjectPriorityScopeUseWhenWithSyntax : ITypeCallbackSyntax,
                                                                                    ITypeConstructorSyntax,
                                                                                    ITypeObjectSyntax,
                                                                                    ITypePrioritySyntax,
                                                                                    ITypeScopeSyntax, ITypeUseSyntax,
                                                                                    ITypeWhenSyntax, ITypeWithSyntax
    {
    }


    /// <summary>
    /// Specific fluent syntax for type binding.
    /// </summary>
    public interface ITypeCallbackConstructorObjectPriorityScopeUseWhenWithSyntax<TType> : ITypeCallbackSyntax<TType>,
                                                                                           ITypeConstructorSyntax<TType>,
                                                                                           ITypeObjectSyntax<TType>,
                                                                                           ITypePrioritySyntax<TType>,
                                                                                           ITypeScopeSyntax<TType>,
                                                                                           ITypeUseSyntax<TType>,
                                                                                           ITypeWhenSyntax<TType>,
                                                                                           ITypeWithSyntax<TType>
    {
    }
}